﻿#ifndef STATICPROPERTIES_H
#define STATICPROPERTIES_H
#include <QString>
#include <QDateTime>
#include <QUuid>
#include <QVariant>
#include <QVariantMap>
#include <QList>
#include <QSqlRecord>
#include <DbHelper.h>

class StaticProperties: public QObject
{
    Q_OBJECT
private:
    StaticProperties();

public:
    static bool isProductTesting;//产物检测
    static int  productSyringStep;//产物注射器步骤
    static QDateTime productSyringStartTime;
    static QVariantList logInfo;//通信日志
    static QStringList runningList;//正在运行中的电机(目前只有纯化中的注射器和转盘)
    static bool heartMsg;
    static int currentExpModule;//当前实验模块
    static QDateTime stepStartTime;//单步开始时间,方便计算每步具体执行时长
    static QDateTime unionStepStartTime;//并发实验 单步开始时间
    static double totalExpTime;//当前实验需要的总时间
    static int expStatus;//实验状态 0空闲 1实验中 2暂停 3故障
    static QMap<int,QVariantMap> expSendList; //发送列表
    static QMap<int,QVariantMap> expConcurrencySendList;//并发发送列表
    static QList<int> needRunUnionNumberList;
    static QList<QMap<int,QVariantMap>> expLogList;
    static QMap<int,QVariantMap> expConcurrencyLogList;
    static int currentExpType;//实验类型 0:总流程 1:放靶 2:打靶 3:转靶 4:纯化
    static QString currentExpName;//选中的实验名称
    static QString currentExpConsumables;//选中的耗材类型
    static int currentStep;  //当前执行中实验步骤
    static int expStep;//发送解析完实验步骤
    static int expUnionStep;
    static bool isConcurrency;
    static QVariantMap releasseTargetStatus;//0 靶材罐有无  1传靶气泵压力 2挡板
    static QVariantMap practiceTargetStatus;//0 靶材罐有无检测1 1气泵压力 2送靶气缸1 3进料气缸 4水冷机 5送靶气缸2 6 靶材罐有无检测 7 氦气压力 8 靶材罐吸取
    static QVariantMap shiftingTargetStatus;//0 吸盘状态 1夹爪 2靶材盖 3液位 4溶靶瓶 5靶材片吸取
    static QVariantMap purifyingStatus;//纯化 0左压紧 1右压紧 2耗材 3废液瓶 4产物瓶 5能谱图检测
    static QVariantMap pipeStatus;//管道状态
    static double dataThreshold;
    static QString dataThresholdType;
    static bool firstConnect;//第一次连接,如果是第一次连接,在连接上后向设备获取一次机器状态,连接断开后 刷新这个参数
    static bool isWait;
    static QList<int> continueModule;
    static bool isForcedStop;
    static int softType;//0所有模块 1打靶 2纯化
    static bool expRecovery;
    static bool finishInPause;
    static int expStartStep;
    static int maxStep;
    static QList<int> expStartStepList;
    static bool existSoft;
    static bool isWaitStep;
    static QMap<int,int> concurrencyStepMap;
    static bool isWaitError;

};
#endif // STATICPROPERTIES_H
